// components/swiper-image/index.js
const util = require("../../utils/util");

Component({
  externalClasses: ['class-self'],
  options: {
    addGlobalClass: true
  },
  /**
   * 组件的属性列表
   */
  properties: {
    files: {
      type: Array,
      value: [],
      observer: function (val) {
        if (val.length > 0) {
          this.setData({
            imgs: val
          });
          this.initSwiperHeight(val);
        }
      },
    }
  },

  /**
   * 组件的初始数据
   */
  data: {
    swiperCurrent: 0,
    imgs: [],
    swiperHeight: []
  },

  /**
   * 声明周期
   */
  lifetimes: {
    attached: function () {
      // 在组件实例进入页面节点树时执行

    },
    detached: function () {
      // 在组件实例被从页面节点树移除时执行
    },

  },
  ready: function () {
    // console.log(this.properties);
  },
  attached: function () {
    // 在组件实例进入页面节点树时执行
    // console.log(this.data);
  },

  /**
   * 组件的方法列表
   */
  methods: {
    swiperChange(e) {
      this.setData({
        swiperCurrent: e.detail.current
      });
    },
    /**
     * 初始化swiper
     * @param {Array} arr 
     */
    initSwiperHeight(arr) {
      arr.forEach(e => {
        this.data.swiperHeight.push(util.imgScaleSize(e).height);
      })
      this.setData({
        swiperHeight: this.data.swiperHeight
      })
    },
    onTapImage(e) {
      let index = e.currentTarget.dataset.index;
      let urls = new Array();
      this.data.imgs.forEach(e => {
        urls.push(e.url)
      })
      wx.previewImage({
        current: this.data.imgs[index].url, // 当前显示图片的http链接
        urls: urls // 需要预览的图片http链接列表
      })
    }
  }
})